﻿namespace GSC.WebControls
{
    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    /// <summary>
    /// 控件内容编辑接口。
    /// </summary>
    /// <remarks>控件内容编辑接口。</remarks>
    public interface IEditControl
    {
        /// <summary>
        /// 获取编辑内容容器控件对象。
        /// </summary>
        /// <remarks>获取编辑内容容器控件对象。</remarks>
        /// <value>System.Web.UI.WebControls.PlaceHolder</value>
        PlaceHolder EditPlaceHolder
        {
            get;
        }
        /// <summary>
        /// 获取列表内容容器控件对象。
        /// </summary>
        /// <remarks>获取列表内容容器控件对象。</remarks>
        /// <value>System.Web.UI.WebControls.PlaceHolder</value>
        PlaceHolder ListPlaceHolder
        {
            get;
        }
        /// <summary>
        /// 获取更新编辑内容容器控件对象。
        /// </summary>
        /// <remarks>获取更新编辑内容容器控件对象。</remarks>
        /// <value>System.Web.UI.UpdatePanel</value>
        UpdatePanel EditUpdatePanel
        {
            get;
        }
        /// <summary>
        /// 获取更新列表内容容器控件对象。
        /// </summary>
        /// <remarks>获取更新列表内容容器控件对象。</remarks>
        /// <value>System.Web.UI.UpdatePanel</value>
        UpdatePanel ListUpdatePanel
        {
            get;
        }
        /// <summary>
        /// 获取附加任意对象。
        /// </summary>
        /// <remarks>获取附加任意对象。</remarks>
        /// <value>object</value>
        object Tag
        {
            get;
        }
        /// <summary>
        /// 加载编辑控件。
        /// </summary>
        /// <remarks>加载编辑控件。</remarks>
        /// <param name="control">设置要加载的控件。</param>
        /// <returns>System.Web.UI.Control</returns>
        Control LoadEditControl(string control);
        /// <summary>
        /// 卸载编辑控件。
        /// </summary>
        /// <remarks>卸载编辑控件。</remarks>
        void UninstallEditControl();
    }
}